package com.molichuxing.services.property;

/**
 * 发票枚举
 *
 * @author zhaopenghui
 * @date 2019年9月24日
 */
public enum InvoiceTypeEnum {

    /**
     * 主订单
     */
    MAIN_ORDER(11, "主订单"),
    /**
     * 续订单
     */
    REPEAT_ORDER(12, "续订"),
    /**
     * 加购
     */
    ADD_MILEAGE(13, "加购"),
    /**
     * 超时
     */
    TIME_OUT(14, "超时"),
    /**
     * 超程
     */
    BEYOND_MILEAGE(15, "超程"),
    /**
     * 质损
     */
    QUALITY_LOSS(16, "质损"),
    /**
     * 分期
     */
    INSTALLMENT(21, "分期"),
    /**
     * 全款
     */
    FULL_PAYMENT(22, "全款");

    int value;
    String name;

    InvoiceTypeEnum(int value, String name) {
        this.value = value;
        this.name = name;
    }

    public int getValue() {
        return value;
    }

    public String getName() {
        return name;
    }


    /**
     * 通过value获取枚举的name
     *
     * @param value
     * @return
     */
    public static String getName(int value) {
        InvoiceTypeEnum enumerate = getEnum(value);
        return enumerate == null ? null : enumerate.getName();
    }

    /**
     * 通过value获取枚举
     *
     * @param value
     * @return
     */
    public static InvoiceTypeEnum getEnum(int value) {
        for (InvoiceTypeEnum enumerate : InvoiceTypeEnum.values()) {
            if (enumerate.getValue() == value) {
                return enumerate;
            }
        }
        return null;
    }
}
